The present invention relates generally to constraining the movement of a cursor on a display device in response to movement of a mouse or trackball.
There are two very common user activities where a cursor controlled by a pointing device, for example, a mouse or trackball, has to moved horizontally or vertically on an output device such as a display terminal. In one activity, text or graphics are scrolled in either a horizontal or vertical direction using either a horizontal or vertical scroll bar. Oblique scroll bars are non-existing. In another activity, portions of horizontal text on one or more lines is xe2x80x9chigh-lightedxe2x80x9d for some text editing function by xe2x80x9cclickingxe2x80x9d a button while moving the pointing device.
Both of these activities can cause tracking problems. In the case of the scroll bar, unless the user carefully keeps the cursor aligned with the scroll bar, the cursor will become xe2x80x9cdisconnectedxe2x80x9d from the bar. When the cursor is disconnected, the scroll bar no longer responds to movement by the pointing device. For text highlighting, careless movement of the cursor will select the wrong portions of the text.
Successful accomplishment of either activity requires near perfect vertical or horizontal movement of the pointing device. Any drifting from horizontal or vertical movement will cause problems. Known pointing devices, such as a mouse, trackball, or joystick, are not designed to track a cursor in a specific direction, nor are such devices aware of the motion required by the underlying application.
Hidaka et al. in U.S. Pat. No. 5,327,528 teach a cursor control system where graphics objects are tracked by pointing to a position on a display screen, and locating a point on a graphics which is near to position of the screen, and then displaying the cursor at that position.
Gest et al. in U.S. Pat. No. 5,333,247 described a scrolling tool for text and graphics. There, a box of appropriate size is superimposed on the screen. The text or graphics in the box can then be scrolled by manipulating the box.
Blomqvist, in U.S. Pat. No. 5,745,099, describes a method for positioning a cursor relative to a display using a pointing device. There, a reference position and cursor positions are selected, and offset values between the reference and cursor positions are computed and displayed.
The invention provides a method for moving a cursor on a display screen. A motion of an input pointing device is determined. The motion has a direction and a magnitude. The angle between the direction of the motion of the input pointing device and a reference direction is measured. A typical reference direction is horizontal or vertical.
A determination is made to see if the angle is between predetermined limits. If the direction of the motion of the pointing device is within the limits, then the magnitude of the motion of the pointer is multiplied by the cosine of the angle to determine the magnitude of the motion of the cursor along the reference direction.